package com.king.modules.system.domain.vo.file;

import java.util.ArrayList;
import java.util.List;

import org.springframework.web.multipart.MultipartFile;

import com.alibaba.fastjson2.annotation.JSONField;
import com.king.common.annotation.MetaData;
import com.king.common.annotation.ObjectData;

import lombok.Getter;
import lombok.Setter;
import lombok.experimental.Accessors;

/**
 * Description:
 *
 * @author Xander
 * datetime: 2023-03-10 14:21
 */
@Getter
@Setter
@Accessors(chain = true)
@ObjectData("多文件上传表单")
public class MultiFilesUploadDto {

    /**
     * {@link FileType}
     */
    @MetaData(value = "文件类型: file/img/video", nullable = false)
    private String fileType;

    @MetaData(value = "模块类型", nullable = false)
    private String moduleName;

    @MetaData(value = "实体id，选填：没有id可不传", nullable = true)
    private String entityId = "new";

    @MetaData(value = "附件集合", nullable = false)
    @JSONField(serialize = false)
    private List<MultipartFile> files = new ArrayList<>();
}
